home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The PC-SIG Library 10
/
The PC-Sig Library - Shareware for the IBM PC and Compatibles (PC-SIG)(Tenth Edition Disks 1-2804)(1991).iso
/
PC_SIGCD
/
08
/
5
/
DISK0859.ZIP
/
MAC
/
SI500API.MLC
< prev
next >
Wrap
Text File
|
1987-12-30
|
5KB
|
145 lines
TITLE 'SI500API.ALC - SI SYSTEM LINK FROM CICS TO CADET VIA API'
*
* PGM-ID. SI500API.ALC
* AUTHOR. DON HIGGINS.
* DATE. 11/03/87
* REMAKRS. THIS IS A PC/370 ASSEMBLY LANGUAGE PROGRAM DESIGNED TO RUN
* ON A PC WITH PC 3270 EMULATION USING THE APPLICATION
* PROGRAM INTERFACE. THE PROGRAM SIMULATES 3270 TRANSACTIONS
* TO OBTAIN CICS APPLICTION SCREENS AND STORE THEM ON A PC
* DISK IN SEPARATE FILES FOR ACCESS BY PC NETWORK APPLICATIONS.
* REFERENCE. IBM PC 3270 EMULATION PROGRAM APPLICATION PROGRAM INTERFACE
* AND HOST REFERENCE, #SC23-0892.
* MAINTENANCE.
*
* 11/04/87 DSH 1.0 CHANGE FILE NAME TO CADET STD. WITH DRIVE AND DIR
* 11/05/87 DSH 1.0 CHANGE DRIVE TO N: AND TIME TO 180 SECONDS
* 11/10/87 DSH 1.0 ADD LOGIC TO STORE FILES IN TIME SEQUENCE AS WELL
* AS IN THE MOST CURRENT FILE.
* 12/29/87 DSH 1.1 ADD LOGIC TO ALSO WRITE TAAU SUMMARY SCREENS
* 12/30/87 DSH 1.1 ADD TAAU,ALL,CANCEL AFTER EACH TAAU,ALL,99
*
SI500API CSECT
USING *,R12
LR R12,R15
LA R13,SAVEAREA
WTO 'SI500API CICS TO PC CADET FILE TRANSFER API VER 1.1'
WTO ' '
CALL APISTART ACTIVATE 3270 SESSION
LOOP EQU *
CALL DAT PRINT DATE AND TIME
LA R1,CLEARKEY
CALL APIAID ENTER CLEAR KEY
LA R1,=C"SINQ"
LA R2,4
CALL APITRAN ENTER TAAU TRANSACTION
LA R1,PF1
CALL APIAID ENTER PF KEY
LA R1,SCREEN
CALL APIREAD READ SCREEN
LA R1,=C'SIT01S01'
BAL R14,BLDFILE SAVE SCREEN IN PC FILE
LA R1,PF2
CALL APIAID ENTER PF KEY
LA R1,SCREEN
CALL APIREAD READ SCREEN
LA R1,=C'SIT02S01'
BAL R14,BLDFILE SAVE SCREEN IN PC FILE
LA R1,PF3
CALL APIAID ENTER PF KEY
LA R1,SCREEN
CALL APIREAD READ SCREEN
LA R1,=C'SIT03S01'
BAL R14,BLDFILE SAVE SCREEN IN PC FILE
LA R1,PF4
CALL APIAID ENTER PF KEY
LA R1,SCREEN
CALL APIREAD READ SCREEN
LA R1,=C'SIT04S01'
BAL R14,BLDFILE SAVE SCREEN IN PC FILE
LA R1,CLEARKEY
CALL APIAID ENTER CLEAR KEY
LA R1,=C"TAAU,ALL,03"
LA R2,11
CALL APITRAN ENTER TAAU TRANSACTION
LA R1,SCREEN
CALL APIREAD READ SCREEN
LA R1,=C'TAT01S01'
BAL R14,BLDFILE SAVE SCREEN IN PC FILE
LA R1,ENTERKEY
CALL APIAID ENTER ENTER KEY
LA R1,SCREEN
CALL APIREAD READ SCREEN
LA R1,=C'TAT02S01'
BAL R14,BLDFILE SAVE SCREEN IN PC FILE
LA R1,CLEARKEY
CALL APIAID ENTER CLEAR KEY
LA R1,=C"TAAU,ALL,CANCEL"
LA R2,15
CALL APITRAN ENTER TAAU CANCEL TRANSACTION
*
* WAIT FOR AN INTERVAL AND THEN REPEAT LOOP
*
WTO 'WAITING FOR 3 MINUTES'
LA R1,180 (PRODUCTION VERSION SHOULD BE 180)
CALL APIWAIT WAIT FOR SPECIFIED # OF SECONDS
B LOOP
*
* BLDFILE - WRITE SCREEN TO PC FILE
*
BLDFILE EQU *
ST R14,BLDSAV14
L R15,PCFILE+(DCBDSN-IHADCB) GET ADDR OF DSN FROM DCB
MVC DSNOFF(8,R15),0(R1) MOVE 8 CHARACTER FILE NAME TO DCBDSN
WTO 'WRITING CICS SCREEN TO CADET PC FILE'
SVC TRACE
DC C'BLD '
CLI SCREEN,C" " IF SCREEN DOES NOT START WITH ASCII
BL APIERR ABORT
OPEN PCFILE
PUT PCFILE,SCREEN WRITE SCREEN TO DISK FILE
CLOSE PCFILE
SVC TIME R0 = HH, MM, SS, 100TH SEC
SRL R0,24
CVD R0,PWORK
MVC DHR,=X'40212020'
ED DHR,PWORK+6
L R15,PCFILE+(DCBDSN-IHADCB) GET ADDR OF DSN FROM DCB
MVI DSNOFF+5(R15),C'H'
MVC DSNOFF+6(2,R15),DHR+2
OPEN PCFILE
PUT PCFILE,SCREEN WRITE SCREEN TO DISK FILE
CLOSE PCFILE
L R14,BLDSAV14
BR R14
*
* ENTER DEBUG ON ERROR FOR NOW
*
APIERR EQU *
SVC TRACE
DC C'BUG '
SVC EXIT
BLDSAV14 DC F'0'
*
* COMMON DATA
*
SAVEAREA DC 18F'0'
PWORK DC D'0'
DHR DC C' Z99'
PCFILE DCB DSORG=S,MACRF=P,RECFM=F,LRECL=1920,
DDNAME=N:\ENERGY\SIT01SXX.(T)
DSNOFF EQU 10 OFFSET TO PRIMARY DSNAME IMMEDIATELY ABOVE
DC C'*** SCREEN ***'
SCREEN DS 1920C 24 X 80 ASCII SCREEN
DC C'*** END OF SCREEN ***'
COPY CPY\EQUREGS
COPY CPY\EQUSVCS
COPY CPY\IHADCB
PF1 EQU X'07' PROGRAM FUNCTION KEY 1 SCAN CODE (SEE A-2)
PF2 EQU X'0F'
PF3 EQU X'17'
PF4 EQU X'1F'
CLEARKEY EQU X'06' CLEAR KEY
ENTERKEY EQU X'58' ENTER KEY
END